package com.krisyu.strategyPattern.sp2_enum;

/**
 * @DATE 2022/1/7
 * @Author KrisYu
 * @Description 策略枚举类： 计算器
 */
public enum Calculator {
    ADD("+"){
        @Override
        public int exec(int a, int b) {
            return a+b;
        }
    },

    SUB("-"){
        @Override
        public int exec(int a, int b) {
            return a-b;
        }
    },

    Mul("*"){
        @Override
        public int exec(int a, int b) {
            return a*b;
        }
    },
    Div("/"){
        @Override
        public int exec(int a, int b) {
            return a/b;
        }
    };


    private Calculator(String _value){
        this.symbol = _value;
    }
    // 定义成员值类型
    String symbol;
    // 获取枚举成员的值
    public String getSymbol() {
        return this.symbol;
    }
    // 声明一个抽象函数，每个枚举对象都是实现它。
    public abstract int exec(int a, int b);
}
